<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArInterpolation Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArInterpolation.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArInterpolation-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArInterpolation Class Reference<div class="ingroups"><a class="el" href="group__UtilityClasses.html">Utility Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Store a buffer of positions (<a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> objects) with associated timestamps, can be queried to interpolate (or optionally extrapolate) a pose for any arbitrary timestamp.  
 <a href="classArInterpolation.html#details">More...</a></p>

<p><code>#include &lt;ArInterpolation.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5e4c9a7fc7328d706ba5e36393dd7a3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e4c9a7fc7328d706ba5e36393dd7a3e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a5e4c9a7fc7328d706ba5e36393dd7a3e">addReading</a> (<a class="el" href="classArTime.html">ArTime</a> timeOfReading, <a class="el" href="classArPose.html">ArPose</a> position)</td></tr>
<tr class="memdesc:a5e4c9a7fc7328d706ba5e36393dd7a3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new reading. <br /></td></tr>
<tr class="separator:a5e4c9a7fc7328d706ba5e36393dd7a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390e2f6b40f8408aaaff951ea6c078e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a390e2f6b40f8408aaaff951ea6c078e2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a390e2f6b40f8408aaaff951ea6c078e2">ArInterpolation</a> (size_t numberOfReadings=100)</td></tr>
<tr class="memdesc:a390e2f6b40f8408aaaff951ea6c078e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a390e2f6b40f8408aaaff951ea6c078e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf464ac1312fd3f5a8da949d95b0b641"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf464ac1312fd3f5a8da949d95b0b641"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#acf464ac1312fd3f5a8da949d95b0b641">getAllowedMSForPrediction</a> (void)</td></tr>
<tr class="memdesc:acf464ac1312fd3f5a8da949d95b0b641"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the allowed milliseconds for prediction. <br /></td></tr>
<tr class="separator:acf464ac1312fd3f5a8da949d95b0b641"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfdad1150051171355ce2d5e5aa86c75"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfdad1150051171355ce2d5e5aa86c75"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#abfdad1150051171355ce2d5e5aa86c75">getAllowedPercentageForPrediction</a> (void)</td></tr>
<tr class="memdesc:abfdad1150051171355ce2d5e5aa86c75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the allowed milliseconds for prediction. <br /></td></tr>
<tr class="separator:abfdad1150051171355ce2d5e5aa86c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1316fbed2756959e0dac7b5cb683fe2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1316fbed2756959e0dac7b5cb683fe2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#ab1316fbed2756959e0dac7b5cb683fe2">getLogPrediction</a> (void)</td></tr>
<tr class="memdesc:ab1316fbed2756959e0dac7b5cb683fe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we should log events for this interpolation. <br /></td></tr>
<tr class="separator:ab1316fbed2756959e0dac7b5cb683fe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe6e4e09eff98da75b0e2f223ab1add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fe6e4e09eff98da75b0e2f223ab1add"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a5fe6e4e09eff98da75b0e2f223ab1add">getName</a> (void)</td></tr>
<tr class="memdesc:a5fe6e4e09eff98da75b0e2f223ab1add"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name. <br /></td></tr>
<tr class="separator:a5fe6e4e09eff98da75b0e2f223ab1add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af62cac6a3bcbe97a5a1b282febf863c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af62cac6a3bcbe97a5a1b282febf863c4"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#af62cac6a3bcbe97a5a1b282febf863c4">getNumberOfReadings</a> (void) const </td></tr>
<tr class="memdesc:af62cac6a3bcbe97a5a1b282febf863c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of readings this instance holds back in time. <br /></td></tr>
<tr class="separator:af62cac6a3bcbe97a5a1b282febf863c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a921584c2abed2141ae892c6239b2b13e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a921584c2abed2141ae892c6239b2b13e">getPose</a> (<a class="el" href="classArTime.html">ArTime</a> timeStamp, <a class="el" href="classArPose.html">ArPose</a> *position, <a class="el" href="classArPoseWithTime.html">ArPoseWithTime</a> *lastData=NULL)</td></tr>
<tr class="memdesc:a921584c2abed2141ae892c6239b2b13e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a position.  <a href="#a921584c2abed2141ae892c6239b2b13e">More...</a><br /></td></tr>
<tr class="separator:a921584c2abed2141ae892c6239b2b13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a680d369e76b3ac8c7e65f502adbcedab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a680d369e76b3ac8c7e65f502adbcedab"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a680d369e76b3ac8c7e65f502adbcedab">reset</a> (void)</td></tr>
<tr class="memdesc:a680d369e76b3ac8c7e65f502adbcedab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empties the interpolated positions. <br /></td></tr>
<tr class="separator:a680d369e76b3ac8c7e65f502adbcedab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3ea201cbaf4849bdfa68a6c56582ffe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3ea201cbaf4849bdfa68a6c56582ffe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#ae3ea201cbaf4849bdfa68a6c56582ffe">setAllowedMSForPrediction</a> (int ms=-1)</td></tr>
<tr class="memdesc:ae3ea201cbaf4849bdfa68a6c56582ffe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the allowed milliseconds for prediction. <br /></td></tr>
<tr class="separator:ae3ea201cbaf4849bdfa68a6c56582ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1167744f79eea56c4575eb6db91ea147"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1167744f79eea56c4575eb6db91ea147"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a1167744f79eea56c4575eb6db91ea147">setAllowedPercentageForPrediction</a> (int percentage=5000)</td></tr>
<tr class="memdesc:a1167744f79eea56c4575eb6db91ea147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the allowed percentage for prediction. <br /></td></tr>
<tr class="separator:a1167744f79eea56c4575eb6db91ea147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae050c608bdc05e4f225b915c50c7c939"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae050c608bdc05e4f225b915c50c7c939"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#ae050c608bdc05e4f225b915c50c7c939">setLogPrediction</a> (bool logPrediction=false)</td></tr>
<tr class="memdesc:ae050c608bdc05e4f225b915c50c7c939"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets if we should log events for this interpolation. <br /></td></tr>
<tr class="separator:ae050c608bdc05e4f225b915c50c7c939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ff041eb02aea11fd2dd835451f007c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ff041eb02aea11fd2dd835451f007c0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a7ff041eb02aea11fd2dd835451f007c0">setName</a> (const char *name)</td></tr>
<tr class="memdesc:a7ff041eb02aea11fd2dd835451f007c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name. <br /></td></tr>
<tr class="separator:a7ff041eb02aea11fd2dd835451f007c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada65079027b25726721abed43a9a254b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada65079027b25726721abed43a9a254b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#ada65079027b25726721abed43a9a254b">setNumberOfReadings</a> (size_t numberOfReadings)</td></tr>
<tr class="memdesc:ada65079027b25726721abed43a9a254b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the number of readings this instance holds back in time. <br /></td></tr>
<tr class="separator:ada65079027b25726721abed43a9a254b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21c245c475dc9cc143a0ddbffb34c8e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21c245c475dc9cc143a0ddbffb34c8e1"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArInterpolation.html#a21c245c475dc9cc143a0ddbffb34c8e1">~ArInterpolation</a> ()</td></tr>
<tr class="memdesc:a21c245c475dc9cc143a0ddbffb34c8e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a21c245c475dc9cc143a0ddbffb34c8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a2bd7eb4be4178dc80b93c9692e7f9af0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bd7eb4be4178dc80b93c9692e7f9af0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myAllowedMSForPrediction</b></td></tr>
<tr class="separator:a2bd7eb4be4178dc80b93c9692e7f9af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23e5c2550bcd434ef264017959f4a8f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23e5c2550bcd434ef264017959f4a8f8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myAllowedPercentageForPrediction</b></td></tr>
<tr class="separator:a23e5c2550bcd434ef264017959f4a8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a583f140ee0552d9a70939f344b805217"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a583f140ee0552d9a70939f344b805217"></a>
<a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myDataMutex</b></td></tr>
<tr class="separator:a583f140ee0552d9a70939f344b805217"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaaf6db44e29534be80e1b481f4fb2e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaaaf6db44e29534be80e1b481f4fb2e4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myLogPrediction</b></td></tr>
<tr class="separator:aaaaf6db44e29534be80e1b481f4fb2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af169b5824ba8869ac86c4c7277c450db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af169b5824ba8869ac86c4c7277c450db"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myName</b></td></tr>
<tr class="separator:af169b5824ba8869ac86c4c7277c450db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9e146b111bb383ba305e4012b288fd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9e146b111bb383ba305e4012b288fd3"></a>
std::list&lt; <a class="el" href="classArPose.html">ArPose</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myPoses</b></td></tr>
<tr class="separator:ac9e146b111bb383ba305e4012b288fd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90edd6cc474f4539217efb488a08ce40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90edd6cc474f4539217efb488a08ce40"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>mySize</b></td></tr>
<tr class="separator:a90edd6cc474f4539217efb488a08ce40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3a820fefc071200df4712c7a2653507"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3a820fefc071200df4712c7a2653507"></a>
std::list&lt; <a class="el" href="classArTime.html">ArTime</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myTimes</b></td></tr>
<tr class="separator:ac3a820fefc071200df4712c7a2653507"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Store a buffer of positions (<a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> objects) with associated timestamps, can be queried to interpolate (or optionally extrapolate) a pose for any arbitrary timestamp. </p>
<p>Will work best when positions are stored frequenly and regularly.</p>
<p><a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> maintains an <a class="el" href="classArInterpolation.html" title="Store a buffer of positions (ArPose objects) with associated timestamps, can be queried to interpolat...">ArInterpolation</a> object which can be accessed by <a class="el" href="classArRobot.html#ad4eae6c548eae420ea4760fa773dd0f8" title="Gets the position the robot was at at the given timestamp. ">ArRobot::getPoseInterpPosition()</a>, <a class="el" href="classArRobot.html#ae9e8bbfbd30cba2e7006475a6da11c08" title="Sets the number of packets back in time the position interpol goes. ">ArRobot::getPoseInterpNumReadings()</a>, <a class="el" href="classArRobot.html#a5380ac6054a61bf6432962fe6f57b4a5" title="Sets the number of packets back in time the ArInterpolation goes. ">ArRobot::setPoseInterpNumReadings()</a>, and <a class="el" href="classArRobot.html#a273a8826cfd8a9d18e9162a62f7ecfcb" title="Gets the pose interpolation object, this should only really used internally. ">ArRobot::getPoseInterpolation()</a>. Or, you could use your own <a class="el" href="classArInterpolation.html" title="Store a buffer of positions (ArPose objects) with associated timestamps, can be queried to interpolat...">ArInterpolation</a> object; use an <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> "sensor-interpretation" task to store each robot pose received.</p>
<p>This class takes care of storing in readings of position vs time, and then interpolating between them to find where the robot was at a particular point in time. It has two lists, one containing the times, and one containing the positions at those same times (per position), they must be walked through jointly to maintain cohesion. The new entries are at the front of the list, while the old ones are at the back. numberOfReadings and the setNumberOfReadings control the number of entries in the list. If a size is set that is smaller than the current size, then the old ones are chopped off.</p>
<p>This class now has a couple of variables for when it allows prediction (extrapolation beyond the most recently stored pose). They're set with <a class="el" href="classArInterpolation.html#ae3ea201cbaf4849bdfa68a6c56582ffe" title="Sets the allowed milliseconds for prediction. ">setAllowedMSForPrediction()</a> and <a class="el" href="classArInterpolation.html#a1167744f79eea56c4575eb6db91ea147" title="Sets the allowed percentage for prediction. ">setAllowedPercentageForPrediction()</a>. If either is below 0 than they are ignored (if both are below 0 it means any prediction is allowed, which would be bad). Previous there was no MS limit, and the percentage limit was 50 (and so that is what the default is now). </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a921584c2abed2141ae892c6239b2b13e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArInterpolation::getPose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArTime.html">ArTime</a>&#160;</td>
          <td class="paramname"><em>timeStamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArPose.html">ArPose</a> *&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArPoseWithTime.html">ArPoseWithTime</a> *&#160;</td>
          <td class="paramname"><em>mostRecent</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finds a position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeStamp</td><td>the time we are interested in </td></tr>
    <tr><td class="paramname">position</td><td>the pose to set to the given position</td></tr>
    <tr><td class="paramname">mostRecent</td><td>the most recent data in the interpolation relevant to this call... for a return of 1 this is the near side it interpolated between, for a return of 0 or 1 this is the most recent data in the interpolation.... this is only useful if the return is 1, 0, or -1, and is mostly for use with <a class="el" href="classArRobot.html#ae825bc1dcbe920708d9b6c9b3d9f9bc1" title="Applies the encoder motion from the passed in ArPoseWithTime to the passed in ArTime. ">ArRobot::applyEncoderOffset</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 its good interpolation, 0 its predicting, -1 its too far to predict, -2 its too old, -3 there's not enough data to predict </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArInterpolation.h</li>
<li>ArInterpolation.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArInterpolation.html">ArInterpolation</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
